package procilege.lang;

public class PredicateValue implements PredicateExpr {

	private Object value;

	public PredicateValue(Object value) {

		this.value = value;
	}
	
	public Object getValue() {
		return value;
	}

	public BoolExprOr norm() {

		BoolExprOr orExpr = new BoolExprOr();
		BoolExprAnd andExpr = new BoolExprAnd();
		andExpr.and((PredicateValue) this.clone());
		orExpr.or(andExpr);

		return orExpr;
	}

	public void substitute(ExprSubstitute[] subst) {
	}

	public Object clone() {

		PredicateValue obj = null;

		try {
			obj = (PredicateValue) super.clone();
		} catch (CloneNotSupportedException e) {
			throw new RuntimeException(e);
		}

		obj.value = this.value;

		return obj;
	}
}
